program Two_areas;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  Rectangle = class
  public
    a,b: integer;
  private
    s: integer;
    procedure square; virtual;
    procedure update;
  end;
  SmartRectangle = class(Rectangle)
  procedure set_(a1,b1: integer);
  procedure square; override;
  end;
  procedure Rectangle.square;
  begin
    writeln(s)
  end;
  procedure SmartRectangle.set_(a1, b1 :integer );
  begin
    a:=a1;
    b:=b1;
    s:=a*b
  end;
  procedure SmartRectangle.square;
  begin
    if (a*b=s) then
      writeln(s)
    else
      writeln('Do not even try to fool me!!!');
  end;
  procedure Rectangle.update;
  begin
    s:=a*b
  end;
var
  a1,b1:integer;
  s:Rectangle;
  s1:SmartRectangle;
begin
  readln(a1,b1);
  s:=Rectangle.Create;
  s.a:=a1;
  s.b:=b1;
  s.update;
  s.square;
  s1:=SmartRectangle.Create;
  s1.set_(a1, b1);
  s1.square;
  readln;
end.
